package com.deer.wms.ASN.manage.service;

import com.deer.wms.ASN.manage.model.asn.AsnDetail;
import com.deer.wms.ASN.manage.model.asn.AsnDetailCriteria;
import com.deer.wms.ASN.manage.model.asn.AsnDetailDto;
import com.deer.wms.ASN.manage.model.asn.AsnMasterCriteria;
import com.deer.wms.project.root.service.SuperService;

import java.util.List;


/**
 * @author guo
 * @since 2020/01/03
 */
public interface AsnDetailService extends SuperService<AsnDetail> {

    /**
     * 通过入库单号删除
     * @param billNo 入库单号
     */
    void deleteByBillNo(String billNo);

    /**
     * 通过criteria条件查询
     * @param criteria criteria
     * @return List<AsnDetailDto>
     */
    List<AsnDetailDto> findList(AsnDetailCriteria criteria);

    List<AsnDetail> findByBillNo(String billNo);

    List<AsnDetailDto> findByDetailNo(String detailNo);

    AsnDetail findBy(String field, String value);

    AsnDetail findByInventoryId(Integer inventoryId);

    List<AsnDetail> selectListByType(AsnMasterCriteria criteria);
}
